.s-divider {
  font-size: $divider-font-size;
  display: flex;
  align-items: center;
  margin: $divider-margin;
  color: $divider-text-color;
  border-width: 0;
  border-style: solid;
  border-color: $divider-border-color;

  &::before,
  &::after {
    display: block;
    flex: 1;
    box-sizing: border-box;
    height: 1px;
    content: '';
    border-width: 1px 0 0;
    border-style: inherit;
    border-color: inherit;
  }

  &::before {
    margin-right: $divider-content-padding;
  }

  &::after {
    margin-left: $divider-content-padding;
  }

  &--left::before {
    max-width: $divider-border-left-width;
  }

  &--right::after {
    max-width: $divider-border-right-width;
  }

  &--dashed {
    border-style: dashed;
  }

  &--hairline::before,
  &--hairline::after {
    transform: scaleY(.5);
  }

  &:empty {
    &::before {
      margin-right: 0;
    }

    &::after {
      display: none;
    }
  }
}